package com.itcast.demoone.kotlin

/**
 * 无主构造函数
 */

fun main() {
    // 1. 调用了次构造函数产生对象
    val p4 = Person4("张三", 18)
    p4.intro()

    // 2. 调用了主构造函数产生对象
    val p5 = Person4("张三")
    p5.intro()
}


/**
 * 次构造函数 - 无主构造函数
 */
/*
class Person4 {
    var name: String = ""
    var age: Int = 0
    constructor(name: String, age: Int) {
        this.name = name
        this.age = age
    }

    fun intro() {
        println("我的名字叫：$name,我的年龄是：$age")
    }
}*/

/**
 * 次构造函数 - 有主构造函数
 */
class Person4(val name: String) {
    var age: Int = 0
    // 让次构造函数调用主构造函数
    constructor(name: String, age: Int) : this(name) {
        this.age = age
    }

    fun intro() {
        println("我的名字叫：$name,我的年龄是：$age")
    }
}
